#pragma once

#define BEGIN_MARIONETTE namespace Marionette{
#define END_MARIONETTE }

#include <string>
#include <windows.h>

BEGIN_MARIONETTE

typedef std::string MString;
typedef std::wstring MWString;

class MMemory
{
public:
	MMemory(void);
	~MMemory(void);
	BYTE operator[](DWORD address);
	int CopyTo(DWORD srcAddress,BYTE* pDest,int size);
private:
	virtual BYTE Data(DWORD address);
	virtual BYTE* DataPtr(DWORD address);
	bool m_isRealData;

};
END_MARIONETTE